import Vue from 'vue'
import App from './App'
// 1. 导入 store 的实例对象
import store from './store/store.js'
// 导入网络请求的包
import {
  $http
} from '@escook/request-miniprogram'

// 将按需导入的 $http 挂载到 wx 顶级对象之上
wx.$http = $http
// 把 $http 挂载到 uni 顶级对象之上
uni.$http = $http
//设置请求的根路径：就是API的前缀【包括端口与主机号】
$http.baseUrl = 'https://www.uinav.com/'
// 请求拦截器
$http.beforeRequest = function(options) {
  console.log(store);
  // 判断请求的是否为要权限的 API 接口
  if (options.url.indexOf('/my/') !== -1) {
    // 为请求头添加身份认证字段
    options.header = {
      //权限字段
      Authorization: store.state.my_user.token,
    }
  }
  console.log(options);
  //展示loading
  uni.showLoading({
    title: "数据加载中！"
  })

}
// 响应拦截器
$http.afterRequest = function() {
  //关闭loading
  uni.hideLoading()
}


// 封装的展示消息
//展示默认值：title = '数据加载失败！', duration = 1500，第一个参数：提示信息，第二个参数：展示时间
uni.$showMsg = function(title = '数据加载失败！', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none',
  })
}


Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  ...App,
  store
})
app.$mount()
